// Plop 入口文件, 需要导出一个函数
// 此函数接受一个plop对象，用来创建生成器任务

module.exports = plop => {
  plop.setGenerator("component", {
    description: "create a component",
    prompts: [
      {
        type: "input",
        name: "name",
        message: "please input component naem",
        default: "MyComponent"
      }
    ], // 交互提示
    actions: [
      {
        type: 'add', // 动作类型, add标识添加文件
        path: 'src/components/{{name}}/{{name}}.js', // '{{  }}' 双大括号内设置动态参数
        templateFile: 'plop-templates/component.hbs' // 模板文件地址， 使用hbs文件
      },
      {
        type: 'add', // 动作类型, add标识添加文件
        path: 'src/components/{{name}}/{{name}}.css', // '{{  }}' 双大括号内设置动态参数
        templateFile: 'plop-templates/component.css.hbs' // 模板文件地址， 使用hbs文件
      },
      {
        type: 'add', // 动作类型, add标识添加文件
        path: 'src/components/{{name}}/{{name}}.test.js', // '{{  }}' 双大括号内设置动态参数
        templateFile: 'plop-templates/component.test.hbs' // 模板文件地址， 使用hbs文件
      },
    ]
  })
}